Existing approaches to extract the activation temporal information from electrograms may involve (1) aggressively filtering the virtual electrogram to remove noise, and (2) identifying the zero-crossings of filtered signals at the downward slopes as the local activation time. The disadvantage of this existing approach is that the aggressive filtering, while removing noise, may also filter out part of the signal, and therefore leading to loss of information and distortion of the downward slopes in the electrogram. In addition, the zero-crossing of electrograms, which serves as a surrogate of the activation time, may not be a robust measure in the presence of noise (e.g., baseline drifting) during the body-surface recordings.